1. Field of the Present Invention
The present invention generally relates to the field of video systems and more particularly to a method and system for reducing video data transmission bandwidth and storage requirements.
2. History of Related Art
The bandwidth and storage requirements for transmitting and archiving video data are extremely large relative to many other types of data such as, for example, text. Various compression schemes such as MPEG are widely used to reduce the transmission bandwidth and storage requirements of video data. While MPEG and similar compression schemes are often effective in substantially reducing the amount of data, the bandwidth required to transmit the compressed data in real time still exceeds the available bandwidth in many applications. Internet video streams and video channels, for example, typically have a data transmission capacity of just a few kilobytes per second, which is grossly insufficient for any useful level of detail.
For many real time applications, data compression by itself is insufficient to enable a professional quality video image such as, for example, television to be transmitted within the constraints of a given transmission system. There are, however, video applications that are color and frame rate limited. In a surveillance application, as an example, much of the video data is typically both repetitive and of little interest. Such a system may be characterized by a repeating sequence of video images in which little or no new information is conveyed. Conventional video transmission systems, unfortunately, are required whether or not the image is substantially identical to a previously recorded image. Take, for example, a video surveillance system that includes four cameras in four locations of a building. Each camera is mounted in a fixed position. A monitor system displays a sequence of the images recorded by each of the four cameras. If the cameras are monitored during a time when little activity is occurring the images recorded by each of the cameras may vary little with time. Nevertheless, a conventional video system is reminded to transmit the entire video image to the display system each time an image is recorded. Transmission of the entire video image can consume a significant portion of the system""s transmission bandwidth. As the frame rate of the system is increased to accommodate, for example, an increased number of cameras, the transmission bandwidth may eventually constrain the ability of the system to display the video images in real time. It would therefore be desirable to implement a video system adapted to capitalize on the repetitive data characteristic of certain video applications to reduce the transmission bandwidth by the system.
The problem identified above are in large part addressed by a method and system for transmitting video data. The method includes receiving a first video image and comparing the first video image to at least one stock image where each of the stock images is associated with a corresponding index value. If a match between at least a portion of the first video image and one of the at least one stock images is detected, the index value corresponding to the matching stock image is transmitted over a transmission medium in lieu of transmitting the video image itself. In one embodiment, the method further includes receiving the transmitted index value and generating the corresponding stock image from the index value. If it is determined that the first image does not match to any of the set of stock images, then a new index value is assigned to the first image and the first image is added to the set of stock images. In one embodiment, the new index value and the corresponding video image are then transmitted to a receiving device. In one embodiment, the method further includes determining whether portions of the video image vary from a matching stock image. If so, the xe2x80x9cdifferencexe2x80x9d data comprising the variation between the video image and the stock image is transmitted over the transmission medium along with the index value.
The invention further contemplates a video system including a first video camera configured to record a first video image, a first local processor, a remote processor, and a display device. The first local processor is configured to receive the first video image from the first video camera and is adapted to store the first video image as a first stock image in a first local dictionary and to associate a first index with the first stock image. The remote processor is coupled to the first local processor via a transmission medium and is adapted to create a remote dictionary including the contents of the first local dictionary. The first local processor is operable to transmit the first index in lieu of the first stock image upon receiving a video image matching the first stock image. In one embodiment, the first index value is an integer value indicative of the position of the first stock image in the dictionary. The remote processor may be operable to generate the digital representation of the first stock image for display on the display device in response to receiving the first index. In one embodiment, the system further includes a second video camera configured to record a second video image and a second local processor configured to receive the second video image and to store the second video image as a second stock image in a second local dictionary. The first local dictionary and the second local dictionary may comprise first and second portions of a shared local dictionary. One embodiment of the invention contemplates that the first video camera is configured to move or pan to receive a second video image and to store the second image as a second stock image in the first local dictionary. In one embodiment, the first local processor, upon receiving a video image comprising a first portion that matches to a portion of the first stock image and a second portion comprising difference data indicative of variation between the received image and the first stock image, is operable to transmit the first index and the difference video data to the remote processor, which is configured to generate a display image from the difference data and the first index. The first local processor may include compression software adapted to transmit a compressed version of the difference data. The first local processor may be configured to transmit the first video image and the associated index value to the remote processor the first time the local processor receives the first video image.